package san.java.day10;

/**
 * 捕获异常:
 *  使用try-catch, try {} catch() {} finally {}
 *
 * try catch防止程序可能出现的异常:
 *  在捕获异常的代码块中(try{}里的代码),如果前面的代码有异常了,就不会执行后面的catch块里的内容了
 */

public class CatchException_02 {
    public static void main(String[] args) {
        A a = null;
        try {
            System.out.println(a.i);
        } catch (Exception e) {
            e.printStackTrace();
            e.getMessage();
        } finally {
            // 无论是否发生异常都会执行
        }

        String[] strs = new String[]{"a", "b"};

        try {
            System.out.println(strs[2]);
            System.out.println(a.i);
        } catch (ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
        } catch (NullPointerException e) {
            e.printStackTrace();
        }

        System.out.println("ok");
    }
}
